SlideShare a Scribd company logo
1 of 15
  von Neumann architecture   สถาปัตยกรรมฟอนนอยมันน์ นางสาว วิภาวี ขวัญเมือง ม .4/1  เลขที่ 10
จอห์น ฟอน นอยมันน์   เป็นนักคณิตศาสตร์ชาวอเมริกันเชื้อสายฮังการี มีผลงานสำคัญในหลายสาขา ทั้ง ควอนตัมฟิสิกส์ ทฤษฎีเซต   วิทยาการคอมพิวเตอร์ เศรษฐศาสตร์ และ จะว่าไปแล้วก็ทุกๆ สาขาในวิชาคณิตศาสตร์ เลยก็ว่าได้ เขาเป็นบุตรชายคนโต ในพี่น้อง  3   คน ชื่อเดิมของนอยมันน์ คือ  János Lajos Margittai Neumann  เกิดที่เมืองบูดาเปส บิดาคือ  Neumann Miksa  ( Max Neumann )  เป็นนักการธนาคาร และ มารดาคือ  Kann Margit  ( Margaret Kann )  นอยมันน์มีชื่อเล่น ว่า  " Jancsi "  เขาเติบโตมาในครอบครัวชาวยิวที่ไม่เคร่งครัด และได้แสดงถึงความจำที่เป็นเลิศ มาตั้งแต่ยังเป็นเด็ก โดยสามารถทำการหารเลข  8   หลักในใจได้ตอนอายุ  6   ปี .  ในปี ค . ศ .  1911   ก็เข้าเรียนที่  Lutheran Gymnasium  ( ในประเทศเยอรมนี , gymnasium  หมายถึง โรงเรียนมัธยมปลาย )  พอปี ค . ศ .  1913   เนื่องจากคุณพ่อของเขาได้รับตำแหน่ง  ( ยศ )  เขาจึงได้รับชื่อในภาษาเยอรมัน  von  จึงใช้ชื่อเต็มเป็น  János von Neumann
เขาเรียนจบปริญญาเอกสาขาคณิตศาสตร์ จาก มหาวิทยาลัยบูดาเปส ประเทศฮังการี ตอนอายุ  23   ปี ระหว่างปี ค . ศ .  1926   ถึง  1930   เขาทำงานเป็น  " อาจารย์อิสระ " (" Privatdozent "  เป็นตำแหน่งในระบบมหาวิทยาลัยยุโรป สำหรับผู้ที่ต้องการจะเป็นศาสตราจารย์มหาวิทยาลัย ตำแหน่งนี้ไม่มีเงินเดือนประจำ )  โดยในขณะนั้นเขาเป็นอาจารย์อิสระที่อายุน้อยที่สุดมหาวิทยาลัยเบอร์ลิน ประเทศเยอรมนี ในปี ค . ศ .  1930   นอยมันน์ได้รับเชิญให้ไปยังเมืองพรินซ์ตัน ,  มลรัฐนิวเจอร์ซี และได้เป็นหนึ่งในหกบุคคล  ( J .  W .  Alexander,  อัลเบิร์ต ไอน์สไตน์ , Marston Morse, Oswald Veblen,  จอห์น ฟอน นอยมันน์ และ  Hermann Weyl )  ที่ถูกคัดเลือกเพื่อเป็นอาจารย์ประจำชุดแรกของ  Institute for Advanced Study  เขาเป็นศาสตราจารย์คณิตศาสตร์ที่นั่น ตั้งแต่เริ่มก่อตั้งสาขาวิชาในปี ค . ศ .  1933   จนกระทั่งวาระสุดท้ายของชีวิตเขา . ในช่วงสงครามโลกครั้งที่สอง นอยมันน์ได้มีส่วนร่วมใน โครงการแมนฮัตตัน  ( Manhattan Project )  ซึ่งเป็นโครงการสร้างระเบิดปรมาณู ช่วง ค . ศ .  1936   จนถึง  1938   แอลัน ทัวริง ได้เป็นนักเรียนแลกเปลี่ยนไปที่สถาบัน และเรียนจบปริญญาเอก โดยมีนอยมันน์เป็นอาจารย์ที่ปรึกษา การไปเป็นนักเรียนแลกเปลี่ยนครั้งนี้ของทัวริง เกิดขึ้นหลักจากที่เขาได้ดีพิมพ์บทความวิชาการ
" On Computable Numbers with an Application to the Entscheidungs - problem "  ในปี ค . ศ .  1934   ได้ไม่นาน .  งานตีพิมพ์นี้ เกี่ยวข้องกับ หลักการของ  logical design  และ  universal machine .  ถึงแม้จะเป็นที่แน่ชัดว่า นอยแมนรู้ถึงแนวความคิดของทัวริง แต่ก็ไม่เป็นที่แน่ชัดว่า เขาได้ใช้หลักการของทัวริง ในการออกแบบเครื่อง  IAS  ที่ถูกสร้างในเวลา  10   ปีต่อมา นอยมันน์นั้น ได้รับการขนานนามว่าเป็น บิดาของทฤษฎีเกม  ( game theory ).  เขาได้ตีพิมพ์หนังสือ  Theory of Games and Economic Behavior  โดยร่วมเขียนกับ  Oskar Morgenstern  ในปี ค . ศ .  1944   เขาได้คิดหลักการ  " MAD " ( mutually assured destruction )  อาจแปลไทยได้เป็น  " รับรองได้ว่าเจ๊งไปด้วยกันทั้งคู่แน่ "  ซึ่งเป็นหลักการซึ่งใช้เป็นหลักสำคัญ ในการวางแผนกลยุทธ์ทางด้านอาวุธนิวเคลียร์ของอเมริกา ในช่วงสงครามเย็น นอยมันน์เป็นคนคิด  สถาปัตยกรรมแบบ ฟอน นอยมันน์  ซึ่งใช้กันในคอมพิวเตอร์  ( แบบที่ไม่ได้ประมวลผลแบบขนาน )  ส่วนใหญ่ พูดได้ว่า คอมพิวเตอร์เกือบทั้งหมดในโลกนี้ เป็น เครื่องจักรแบบ ฟอน นอยมันน์  เขาเป็นผู้ริเริ่มสาขา  cellular automata  และได้สร้างตัวอย่างชุดแรกของ  self - replicating automata  โดยใช้แค่กระดาษกราฟ กับ ดินสอธรรมดาๆ  ( ไม่มีคอมพิวเตอร์ช่วยเลย )  คำว่า เครื่องจักรแบบ ฟอน นอยมันน์ ยังหมายความถึง เครื่องจักรที่สร้างตนเองซ้ำได้  ( self - replicating machine )
นอยมันน์ได้พิสูจน์ว่า การใช้เครื่องจักรที่สร้างตนเองซ้ำได้ เป็นวิธีที่มีประสิทธิภาพที่สุด ในการทำเหมืองขนาดใหญ่มากๆ อย่างการทำเหมืองบนดวงจันทร์ หรือ แถบดาวเคราะห์น้อย เนื่องจากกลไกแบบนี้จะมีการเติบโตเป็นแบบเลขชี้กำลัง นอยมันน์นับเป็นบุคคลที่ฉลาดล้ำลึก และความจำที่เป็นเลิศเกือบจะเรียกได้ว่า จำได้ทุกอย่าง ในระดับรายละเอียดเลยก็ว่าได้ เขาเป็นคนชอบออกสังคมไม่เก็บตัว ชอบดื่มเหล้า เต้นรำ และ การเริงรมย์ เป็นคนสนุกสนาน และขบขัน เสียชีวิตที่กรุงวอชิงตัน ดี . ซี . จาก การโปรแกรมเชิงเส้น ที่เขียนโดย  George B .  Dantzig  ซึ่งเป็นผู้ที่คิดค้น  simplex method  ที่ใช้แก้ปัญหาการโปรแกรมเชิงเส้น เขาได้เขียนถึงนอยมันน์ จากประสบการณ์ที่ได้ไปพบและขอคำแนะนำจากนอยมันน์ และยังได้สะท้อนถึงบุคคลิกของนอยมันน์ และได้เล่าถึงตอนที่นอยมันน์ได้ช่วยเหลือ โดยการตอบคำถามของ  Hotelling  ( ผู้คิดค้น  Principal components analysis )  ระหว่างการนำเสนอผลงานการโปรแกรมเชิงเส้นของเขา
สถาปัตยกรรมแรกเริ่มที่เรียกว่า ฟอนนอยมันน์  (von Neumann Architecture)  คิดค้นโดยจอหน์ ฟอน นอยมันน์  (John von Neumann)  ที่ครั้งแรกออกแบบตามแนวความคิดให้เป็นเครื่องจัดเก็บโปรแกรม  (Stored-program Concept)   มาตั้งแต่ปี พ . ศ . 2488  เรียกชื่อเครื่องนี้ว่า  IAS  ถึงแม้ว่าต่อมาอีกหลายปีจึงสร้างจริงได้สำเร็จ แต่ก็นับได้ว่าเป็นเครื่องคอมพิวเตอร์ที่มีสถาปัตยกรรมต้นแบบที่ควรเริ่มต้นศึกษา โครงสร้างหลักทั่วไปของเครื่องคอมพิวเตอร์  IAS  von Neumann Architecture
โครงสร้างหลักทั่วไปของเครื่อง  IAS  ประกอบด้วย -  หน่วยความจำหลัก  (Main Memory)  ทำหน้าที่จัดเก็บข้อมูลและโปรแกรม -  หน่วยคำนวณและตรรกะ  (ALU : Arithmetic and Logic Unit)  ทำหน้าที่ดำเนินการกับข้อมูลเลขฐานสอง -  หน่วยควบคุม  (Control Unit)  ทำหน้าที่แปลคำสั่งภาษาเครื่อง  (Instructions)  ที่จัดเก็บใน --  หน่วยความจำหลักเพื่อให้สั่งกระทำการ  (Execute)  ต่อไป -  หน่วยข้อมูลรับเข้า - ส่งออก  (Input/Output Unit)  ทำหน้าที่แปลงสัญญาณและการแทนค่าข้อมูลที่รับเข้า - ส่งออกตามที่หน่วยควบคุมสั่งการ
[  พ . ศ . 2492  ]  ดร . จอห์น ฟอน นิวแมนน์  (  Dr . John Von Neumann  )  ได้สร้างเครื่องคอมพิวเตอร์ที่สามารถเก็บคำสั่งการปฏิบัติงานทั้งหมดไว้ภายในเครื่อง ชื่อว่า  EDVAC  นับเป็นคอมพิวเตอร์เครี่องแรกที่สามารถเก็บโปรแกรม ไว้ในเครื่องได้
หน่วยความจำหลักมีขนาด  1 ,000  คำ  (Words)  แต่ละคำมีความยาว  40  บิตใช้เก็บได้ทั้งข้อมูลหรือคำสั่ง หากจัดเก็บข้อมูลตัวเลขจะใช้เลขฐานสองระบบการแทนค่าแบบมีบิตเครื่องหมาย หากแทนคำสั่งภาษาเครื่องจะยาวสองคำสั่ง แต่ละคำสั่งยาว  20  บิต โดยที่ส่วนแรก  8  บิตเป็นรหัสดำเนินการ  (Operation Code or Op Code)  อีก  12  บิตเป็นค่าเลขที่อยู่ของตัวถูกดำเนินการ  (Operand)  หน่วยควบคุมจะสั่งการให้มีการอ่านคำสั่งภาษาเครื่องมาจากหน่วยความจำหลัก เพื่อแปลและสั่งทำงาน เช่นเดียวกันกับหน่วยคำนวณและตรรกะ ทั้งสองหน่วยนี้จะต้องอาศัยเรจิสเตอร์จำนวนหนึ่งในการปฏิบัติงาน
องค์ประกอบหลักภายในเครื่องคอมพิวเตอร์
- เรจิสเตอร์พักความจำ  (MBR : Memory Buffer Register)  ยาวขนาดหนึ่งคำ ทำหน้าที่จัดเก็บ พักข้อมูลที่จะนำเข้า - ออกจากหน่วยความจำหลัก - เรจิสเตอร์เลขที่อยู่ความจำ  (MAR : Memory Address Register)  ทำหน้าที่จัดเก็บค่าเลขที่อยู่ของหน่วยความจำหลักที่จะทำการอ่าน - เขียนทุกครั้ง - เรจิสเตอร์คำสั่ง  (IR : Instruction Register)  ขนาดยาว  8  บิต ทำหน้าที่จัดเก็บรหัสดำเนินการที่กำลังสั่งการในขณะนั้น - เรจิสเตอร์พักคำสั่ง  (IBR : Instruction Buffer Register)  เป็นที่พักคำสั่งทางขวาชั่วคราวระหว่างที่รอการสั่งทำงานต่อไป - ตัวนับโปรแกรม  (PC : Program Counter)  เป็นเรจิสเตอร์ทำหน้าที่จัดเก็บค่าเลขที่อยู่ของคำสั่งคู่ลำดับต่อไปที่จะอ่านมาจากหน่วยความจำหลัก - ตัวสะสมและตัวคูณกับผลหาร  (AC : Accumulator and MQ : Multiplier Quotient)  ตัวสะสมเป็นเรจิสเตอร์ทำหน้าที่เป็นที่พักข้อมูลตัวเลขทุกครั้งที่จะมีการคำนวณในหน่วยคำนวณและตรรกะ ส่วนตัวคูณกับผลหารเป็นเรจิสเตอร์ทำหน้าที่ร่วมกับตัวสะสม เพื่อจัดเก็บผลลัพธ์ในการคูณหรือหาร เนื่องจากตัวสะสมเพียงตัวเดียว มีความยาวไม่เพียงพอที่จะจัดเก็บผลลัพธ์จากการคูณหรือหารได้ทั้งหมด และเมื่อการคำนวณเสร็จสิ้นแล้ว ก่อนที่จะมีการนำข้อมูลผลลัพธ์นั้นไปจัดเก็บในหน่วยความจำหลักที่หน่วยอื่นต่อไปได้นั้น ก็ต้องพักข้อมูลดังกล่าวไว้ชั่วคราวที่นี่เช่นกัน
เครื่อง  IAS  ทำงานตามวัฏจักรคำสั่ง  (Instruction Cycle)  ที่แบ่งเป็นสองช่วง ช่วงแรกเรียกว่า รอบไปนำคำสั่งมา  (Fetch Cycle)   เริ่มจากการนำรหัสดำเนินการของคำสั่งจะถูกนำไปไว้ที่เรจิสเตอร์คำสั่ง โดยส่วนของตัวถูกดำเนินการจะส่งไปที่เรจิสเตอร์เลขที่อยู่ความจำ เมื่อหน่วยความจำหลักได้รับสัญญาณควบคุม  (Control Signal)  จากหน่วยควบคุมสั่งให้อ่าน คำที่อ่านมาได้นั้นจะส่งไปพักก่อนที่เรจิสเตอร์พักความจำ แล้วจึงส่งต่อไปที่เรจิสเตอร์พักคำสั่งเป็นอันสิ้นสุดช่วงแรก เนื่องจากสถาปัตยกรรมนี้มีเรจิสเตอร์เพียงตัวเดียวทำหน้าที่ในการกำหนดเลขที่อยู่ในการอ่าน - เขียนหน่วยความจำหลัก และตัวเดียวที่จะเก็บพักข้อมูลนั้น ทำให้เกิดการรอคอยและล่าช้าได้ ช่วงที่สองเรียกว่า รอบการกระทำการ  (Execution Cycle)  วงจรในส่วนของหน่วยควบคุมเมื่อแปลรหัสดำเนินการได้แล้ว จะปล่อยสัญญาณควบคุมไปสั่งการยังหน่วยต่างๆ อาจเป็นการสั่งให้หน่วยคำนวณและตรรกะทำงาน หรือหน่วยความจำหลักทำงานตามความหมายของรหัสดำเนินการที่แปลได้นั้นต่อไป โดยเมื่อจบสิ้นสุกคำสั่งหนึ่งๆ แล้ว ค่าเลขที่อยู่ของคำสั่งถัดไปจะถูกกำหนดไว้ที่ตัวนับโปรแกรมเสมอ คำสั่งภาษาเครื่องของ  IAS  ใช้ความยาวขนาด  8  บิตในการแทนค่า จัดแบ่งคำสั่งออกเป็นหลายกลุ่ม
แสดงขั้นตอนของการกระทำการคำสั่งเครื่อง  IAS
ได้แก่ - กลุ่มคำสั่งถ่ายโอนข้อมูล  (Data Transfer)  เป็นคำสั่งที่ให้มีการถ่ายโอนข้อมูลระหว่างหน่วยความจำหลักกับหน่วยคำนวณและตรรกะ หรือระหว่างเรจิสเตอร์ของหน่วยคำนวณและตรรกะเอง - กลุ่มคำสั่งแยกทางอย่างไม่มีเงื่อนไข  (Unconditional Branch)  เป็นคำสั่งเปลี่ยนแปลงค่าในตัวนับโปรแกรมไม่ให้ทำงานตามลำดับ แต่ให้กระโดดไปยังเลขที่อยู่อื่นตามที่คำสั่งนั้นสั่งการในทันที - กลุ่มคำสั่งแยกทางตามเงื่อนไข  (Conditional Branch)  เป็นคำสั่งให้ทำการตรวจสอบเงื่อนไขที่กำหนดไว้เสียก่อน ว่ามีค่าเป็นจริงหรือเท็จ แล้วจึงดำเนินการต่อไปได้ - กลุ่มคำสั่งคำนวณทางเลขคณิต  (Arithmetic)  เป็นคำสั่งให้ดำเนินการทางเลขคณิตโดยหน่วยคำนวณและตรรกะ - กลุ่มคำสั่งปรับปรุงเลขที่อยู่  (Address Modify)  เป็นคำสั่งอนุญาตให้หน่วยคำนวณและตรรกะ สามารถนำค่าเลขที่อยู่ของคำสั่งไปเปลี่ยนแปลงค่าใหม่ ก่อนนำไปรวมกับตัวคำสั่งแล้วเก็บในหน่วยความจำได้ เพื่อให้เกิดความยืดหยุ่นในการกำหนดเลขที่อยู่ของโปรแกรม
The  end   :)

More Related Content

What's hot

รายงานเทคโนโลยีคอมพิวเตอร์
รายงานเทคโนโลยีคอมพิวเตอร์รายงานเทคโนโลยีคอมพิวเตอร์
รายงานเทคโนโลยีคอมพิวเตอร์พัน พัน
 
เรื่องคอมพิวเตอร์
เรื่องคอมพิวเตอร์เรื่องคอมพิวเตอร์
เรื่องคอมพิวเตอร์พัน พัน
 
Songsak 151221143635
Songsak 151221143635Songsak 151221143635
Songsak 151221143635Frong Pinipun
 
แนวข้อสอบคอมพิวเตอร์
แนวข้อสอบคอมพิวเตอร์แนวข้อสอบคอมพิวเตอร์
แนวข้อสอบคอมพิวเตอร์iamaomkitt
 
ข้อสอบ5 เม.ย. การใช้เทคโนโลยีอินเตอร์เนต ปวส 2558มี80ข้อ
ข้อสอบ5 เม.ย. การใช้เทคโนโลยีอินเตอร์เนต ปวส 2558มี80ข้อข้อสอบ5 เม.ย. การใช้เทคโนโลยีอินเตอร์เนต ปวส 2558มี80ข้อ
ข้อสอบ5 เม.ย. การใช้เทคโนโลยีอินเตอร์เนต ปวส 2558มี80ข้อpeter dontoom
 
ประเภทของคอมพิวเตอร์
ประเภทของคอมพิวเตอร์ประเภทของคอมพิวเตอร์
ประเภทของคอมพิวเตอร์พัน พัน
 
อินเตอเนต2
อินเตอเนต2อินเตอเนต2
อินเตอเนต2peter dontoom
 

What's hot (8)

รายงานเทคโนโลยีคอมพิวเตอร์
รายงานเทคโนโลยีคอมพิวเตอร์รายงานเทคโนโลยีคอมพิวเตอร์
รายงานเทคโนโลยีคอมพิวเตอร์
 
เรื่องคอมพิวเตอร์
เรื่องคอมพิวเตอร์เรื่องคอมพิวเตอร์
เรื่องคอมพิวเตอร์
 
Songsak 151221143635
Songsak 151221143635Songsak 151221143635
Songsak 151221143635
 
แนวข้อสอบคอมพิวเตอร์
แนวข้อสอบคอมพิวเตอร์แนวข้อสอบคอมพิวเตอร์
แนวข้อสอบคอมพิวเตอร์
 
ข้อสอบ5 เม.ย. การใช้เทคโนโลยีอินเตอร์เนต ปวส 2558มี80ข้อ
ข้อสอบ5 เม.ย. การใช้เทคโนโลยีอินเตอร์เนต ปวส 2558มี80ข้อข้อสอบ5 เม.ย. การใช้เทคโนโลยีอินเตอร์เนต ปวส 2558มี80ข้อ
ข้อสอบ5 เม.ย. การใช้เทคโนโลยีอินเตอร์เนต ปวส 2558มี80ข้อ
 
ประเภทของคอมพิวเตอร์
ประเภทของคอมพิวเตอร์ประเภทของคอมพิวเตอร์
ประเภทของคอมพิวเตอร์
 
การปริ้น
การปริ้นการปริ้น
การปริ้น
 
อินเตอเนต2
อินเตอเนต2อินเตอเนต2
อินเตอเนต2
 

Similar to Von neumann architecture (20)

งานคอมพิวเตอร์.Ppt (1)
 งานคอมพิวเตอร์.Ppt (1) งานคอมพิวเตอร์.Ppt (1)
งานคอมพิวเตอร์.Ppt (1)
 
E:\works\turing machine2
E:\works\turing machine2E:\works\turing machine2
E:\works\turing machine2
 
Turing machine2
Turing machine2Turing machine2
Turing machine2
 
Computer work
Computer workComputer work
Computer work
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
123pj
123pj123pj
123pj
 
โครงงานคอมพิวเตอร์ ใบงานที่ 2-16 S2L41
โครงงานคอมพิวเตอร์ ใบงานที่ 2-16 S2L41โครงงานคอมพิวเตอร์ ใบงานที่ 2-16 S2L41
โครงงานคอมพิวเตอร์ ใบงานที่ 2-16 S2L41
 

Von neumann architecture

  • 1.   von Neumann architecture สถาปัตยกรรมฟอนนอยมันน์ นางสาว วิภาวี ขวัญเมือง ม .4/1 เลขที่ 10
  • 2. จอห์น ฟอน นอยมันน์ เป็นนักคณิตศาสตร์ชาวอเมริกันเชื้อสายฮังการี มีผลงานสำคัญในหลายสาขา ทั้ง ควอนตัมฟิสิกส์ ทฤษฎีเซต วิทยาการคอมพิวเตอร์ เศรษฐศาสตร์ และ จะว่าไปแล้วก็ทุกๆ สาขาในวิชาคณิตศาสตร์ เลยก็ว่าได้ เขาเป็นบุตรชายคนโต ในพี่น้อง 3 คน ชื่อเดิมของนอยมันน์ คือ János Lajos Margittai Neumann เกิดที่เมืองบูดาเปส บิดาคือ Neumann Miksa ( Max Neumann ) เป็นนักการธนาคาร และ มารดาคือ Kann Margit ( Margaret Kann ) นอยมันน์มีชื่อเล่น ว่า " Jancsi " เขาเติบโตมาในครอบครัวชาวยิวที่ไม่เคร่งครัด และได้แสดงถึงความจำที่เป็นเลิศ มาตั้งแต่ยังเป็นเด็ก โดยสามารถทำการหารเลข 8 หลักในใจได้ตอนอายุ 6 ปี . ในปี ค . ศ . 1911 ก็เข้าเรียนที่ Lutheran Gymnasium ( ในประเทศเยอรมนี , gymnasium หมายถึง โรงเรียนมัธยมปลาย ) พอปี ค . ศ . 1913 เนื่องจากคุณพ่อของเขาได้รับตำแหน่ง ( ยศ ) เขาจึงได้รับชื่อในภาษาเยอรมัน von จึงใช้ชื่อเต็มเป็น János von Neumann
  • 3. เขาเรียนจบปริญญาเอกสาขาคณิตศาสตร์ จาก มหาวิทยาลัยบูดาเปส ประเทศฮังการี ตอนอายุ 23 ปี ระหว่างปี ค . ศ . 1926 ถึง 1930 เขาทำงานเป็น " อาจารย์อิสระ " (" Privatdozent " เป็นตำแหน่งในระบบมหาวิทยาลัยยุโรป สำหรับผู้ที่ต้องการจะเป็นศาสตราจารย์มหาวิทยาลัย ตำแหน่งนี้ไม่มีเงินเดือนประจำ ) โดยในขณะนั้นเขาเป็นอาจารย์อิสระที่อายุน้อยที่สุดมหาวิทยาลัยเบอร์ลิน ประเทศเยอรมนี ในปี ค . ศ . 1930 นอยมันน์ได้รับเชิญให้ไปยังเมืองพรินซ์ตัน , มลรัฐนิวเจอร์ซี และได้เป็นหนึ่งในหกบุคคล ( J . W . Alexander, อัลเบิร์ต ไอน์สไตน์ , Marston Morse, Oswald Veblen, จอห์น ฟอน นอยมันน์ และ Hermann Weyl ) ที่ถูกคัดเลือกเพื่อเป็นอาจารย์ประจำชุดแรกของ Institute for Advanced Study เขาเป็นศาสตราจารย์คณิตศาสตร์ที่นั่น ตั้งแต่เริ่มก่อตั้งสาขาวิชาในปี ค . ศ . 1933 จนกระทั่งวาระสุดท้ายของชีวิตเขา . ในช่วงสงครามโลกครั้งที่สอง นอยมันน์ได้มีส่วนร่วมใน โครงการแมนฮัตตัน ( Manhattan Project ) ซึ่งเป็นโครงการสร้างระเบิดปรมาณู ช่วง ค . ศ . 1936 จนถึง 1938 แอลัน ทัวริง ได้เป็นนักเรียนแลกเปลี่ยนไปที่สถาบัน และเรียนจบปริญญาเอก โดยมีนอยมันน์เป็นอาจารย์ที่ปรึกษา การไปเป็นนักเรียนแลกเปลี่ยนครั้งนี้ของทัวริง เกิดขึ้นหลักจากที่เขาได้ดีพิมพ์บทความวิชาการ
  • 4. " On Computable Numbers with an Application to the Entscheidungs - problem " ในปี ค . ศ . 1934 ได้ไม่นาน . งานตีพิมพ์นี้ เกี่ยวข้องกับ หลักการของ logical design และ universal machine . ถึงแม้จะเป็นที่แน่ชัดว่า นอยแมนรู้ถึงแนวความคิดของทัวริง แต่ก็ไม่เป็นที่แน่ชัดว่า เขาได้ใช้หลักการของทัวริง ในการออกแบบเครื่อง IAS ที่ถูกสร้างในเวลา 10 ปีต่อมา นอยมันน์นั้น ได้รับการขนานนามว่าเป็น บิดาของทฤษฎีเกม ( game theory ). เขาได้ตีพิมพ์หนังสือ Theory of Games and Economic Behavior โดยร่วมเขียนกับ Oskar Morgenstern ในปี ค . ศ . 1944 เขาได้คิดหลักการ " MAD " ( mutually assured destruction ) อาจแปลไทยได้เป็น " รับรองได้ว่าเจ๊งไปด้วยกันทั้งคู่แน่ " ซึ่งเป็นหลักการซึ่งใช้เป็นหลักสำคัญ ในการวางแผนกลยุทธ์ทางด้านอาวุธนิวเคลียร์ของอเมริกา ในช่วงสงครามเย็น นอยมันน์เป็นคนคิด สถาปัตยกรรมแบบ ฟอน นอยมันน์ ซึ่งใช้กันในคอมพิวเตอร์ ( แบบที่ไม่ได้ประมวลผลแบบขนาน ) ส่วนใหญ่ พูดได้ว่า คอมพิวเตอร์เกือบทั้งหมดในโลกนี้ เป็น เครื่องจักรแบบ ฟอน นอยมันน์ เขาเป็นผู้ริเริ่มสาขา cellular automata และได้สร้างตัวอย่างชุดแรกของ self - replicating automata โดยใช้แค่กระดาษกราฟ กับ ดินสอธรรมดาๆ ( ไม่มีคอมพิวเตอร์ช่วยเลย ) คำว่า เครื่องจักรแบบ ฟอน นอยมันน์ ยังหมายความถึง เครื่องจักรที่สร้างตนเองซ้ำได้ ( self - replicating machine )
  • 5. นอยมันน์ได้พิสูจน์ว่า การใช้เครื่องจักรที่สร้างตนเองซ้ำได้ เป็นวิธีที่มีประสิทธิภาพที่สุด ในการทำเหมืองขนาดใหญ่มากๆ อย่างการทำเหมืองบนดวงจันทร์ หรือ แถบดาวเคราะห์น้อย เนื่องจากกลไกแบบนี้จะมีการเติบโตเป็นแบบเลขชี้กำลัง นอยมันน์นับเป็นบุคคลที่ฉลาดล้ำลึก และความจำที่เป็นเลิศเกือบจะเรียกได้ว่า จำได้ทุกอย่าง ในระดับรายละเอียดเลยก็ว่าได้ เขาเป็นคนชอบออกสังคมไม่เก็บตัว ชอบดื่มเหล้า เต้นรำ และ การเริงรมย์ เป็นคนสนุกสนาน และขบขัน เสียชีวิตที่กรุงวอชิงตัน ดี . ซี . จาก การโปรแกรมเชิงเส้น ที่เขียนโดย George B . Dantzig ซึ่งเป็นผู้ที่คิดค้น simplex method ที่ใช้แก้ปัญหาการโปรแกรมเชิงเส้น เขาได้เขียนถึงนอยมันน์ จากประสบการณ์ที่ได้ไปพบและขอคำแนะนำจากนอยมันน์ และยังได้สะท้อนถึงบุคคลิกของนอยมันน์ และได้เล่าถึงตอนที่นอยมันน์ได้ช่วยเหลือ โดยการตอบคำถามของ Hotelling ( ผู้คิดค้น Principal components analysis ) ระหว่างการนำเสนอผลงานการโปรแกรมเชิงเส้นของเขา
  • 6. สถาปัตยกรรมแรกเริ่มที่เรียกว่า ฟอนนอยมันน์ (von Neumann Architecture) คิดค้นโดยจอหน์ ฟอน นอยมันน์ (John von Neumann) ที่ครั้งแรกออกแบบตามแนวความคิดให้เป็นเครื่องจัดเก็บโปรแกรม (Stored-program Concept) มาตั้งแต่ปี พ . ศ . 2488 เรียกชื่อเครื่องนี้ว่า IAS ถึงแม้ว่าต่อมาอีกหลายปีจึงสร้างจริงได้สำเร็จ แต่ก็นับได้ว่าเป็นเครื่องคอมพิวเตอร์ที่มีสถาปัตยกรรมต้นแบบที่ควรเริ่มต้นศึกษา โครงสร้างหลักทั่วไปของเครื่องคอมพิวเตอร์ IAS von Neumann Architecture
  • 7. โครงสร้างหลักทั่วไปของเครื่อง IAS ประกอบด้วย - หน่วยความจำหลัก (Main Memory) ทำหน้าที่จัดเก็บข้อมูลและโปรแกรม - หน่วยคำนวณและตรรกะ (ALU : Arithmetic and Logic Unit) ทำหน้าที่ดำเนินการกับข้อมูลเลขฐานสอง - หน่วยควบคุม (Control Unit) ทำหน้าที่แปลคำสั่งภาษาเครื่อง (Instructions) ที่จัดเก็บใน -- หน่วยความจำหลักเพื่อให้สั่งกระทำการ (Execute) ต่อไป - หน่วยข้อมูลรับเข้า - ส่งออก (Input/Output Unit) ทำหน้าที่แปลงสัญญาณและการแทนค่าข้อมูลที่รับเข้า - ส่งออกตามที่หน่วยควบคุมสั่งการ
  • 8. [ พ . ศ . 2492 ] ดร . จอห์น ฟอน นิวแมนน์ ( Dr . John Von Neumann ) ได้สร้างเครื่องคอมพิวเตอร์ที่สามารถเก็บคำสั่งการปฏิบัติงานทั้งหมดไว้ภายในเครื่อง ชื่อว่า EDVAC นับเป็นคอมพิวเตอร์เครี่องแรกที่สามารถเก็บโปรแกรม ไว้ในเครื่องได้
  • 9. หน่วยความจำหลักมีขนาด 1 ,000 คำ (Words) แต่ละคำมีความยาว 40 บิตใช้เก็บได้ทั้งข้อมูลหรือคำสั่ง หากจัดเก็บข้อมูลตัวเลขจะใช้เลขฐานสองระบบการแทนค่าแบบมีบิตเครื่องหมาย หากแทนคำสั่งภาษาเครื่องจะยาวสองคำสั่ง แต่ละคำสั่งยาว 20 บิต โดยที่ส่วนแรก 8 บิตเป็นรหัสดำเนินการ (Operation Code or Op Code) อีก 12 บิตเป็นค่าเลขที่อยู่ของตัวถูกดำเนินการ (Operand) หน่วยควบคุมจะสั่งการให้มีการอ่านคำสั่งภาษาเครื่องมาจากหน่วยความจำหลัก เพื่อแปลและสั่งทำงาน เช่นเดียวกันกับหน่วยคำนวณและตรรกะ ทั้งสองหน่วยนี้จะต้องอาศัยเรจิสเตอร์จำนวนหนึ่งในการปฏิบัติงาน
  • 11. - เรจิสเตอร์พักความจำ (MBR : Memory Buffer Register) ยาวขนาดหนึ่งคำ ทำหน้าที่จัดเก็บ พักข้อมูลที่จะนำเข้า - ออกจากหน่วยความจำหลัก - เรจิสเตอร์เลขที่อยู่ความจำ (MAR : Memory Address Register) ทำหน้าที่จัดเก็บค่าเลขที่อยู่ของหน่วยความจำหลักที่จะทำการอ่าน - เขียนทุกครั้ง - เรจิสเตอร์คำสั่ง (IR : Instruction Register) ขนาดยาว 8 บิต ทำหน้าที่จัดเก็บรหัสดำเนินการที่กำลังสั่งการในขณะนั้น - เรจิสเตอร์พักคำสั่ง (IBR : Instruction Buffer Register) เป็นที่พักคำสั่งทางขวาชั่วคราวระหว่างที่รอการสั่งทำงานต่อไป - ตัวนับโปรแกรม (PC : Program Counter) เป็นเรจิสเตอร์ทำหน้าที่จัดเก็บค่าเลขที่อยู่ของคำสั่งคู่ลำดับต่อไปที่จะอ่านมาจากหน่วยความจำหลัก - ตัวสะสมและตัวคูณกับผลหาร (AC : Accumulator and MQ : Multiplier Quotient) ตัวสะสมเป็นเรจิสเตอร์ทำหน้าที่เป็นที่พักข้อมูลตัวเลขทุกครั้งที่จะมีการคำนวณในหน่วยคำนวณและตรรกะ ส่วนตัวคูณกับผลหารเป็นเรจิสเตอร์ทำหน้าที่ร่วมกับตัวสะสม เพื่อจัดเก็บผลลัพธ์ในการคูณหรือหาร เนื่องจากตัวสะสมเพียงตัวเดียว มีความยาวไม่เพียงพอที่จะจัดเก็บผลลัพธ์จากการคูณหรือหารได้ทั้งหมด และเมื่อการคำนวณเสร็จสิ้นแล้ว ก่อนที่จะมีการนำข้อมูลผลลัพธ์นั้นไปจัดเก็บในหน่วยความจำหลักที่หน่วยอื่นต่อไปได้นั้น ก็ต้องพักข้อมูลดังกล่าวไว้ชั่วคราวที่นี่เช่นกัน
  • 12. เครื่อง IAS ทำงานตามวัฏจักรคำสั่ง (Instruction Cycle) ที่แบ่งเป็นสองช่วง ช่วงแรกเรียกว่า รอบไปนำคำสั่งมา (Fetch Cycle) เริ่มจากการนำรหัสดำเนินการของคำสั่งจะถูกนำไปไว้ที่เรจิสเตอร์คำสั่ง โดยส่วนของตัวถูกดำเนินการจะส่งไปที่เรจิสเตอร์เลขที่อยู่ความจำ เมื่อหน่วยความจำหลักได้รับสัญญาณควบคุม (Control Signal) จากหน่วยควบคุมสั่งให้อ่าน คำที่อ่านมาได้นั้นจะส่งไปพักก่อนที่เรจิสเตอร์พักความจำ แล้วจึงส่งต่อไปที่เรจิสเตอร์พักคำสั่งเป็นอันสิ้นสุดช่วงแรก เนื่องจากสถาปัตยกรรมนี้มีเรจิสเตอร์เพียงตัวเดียวทำหน้าที่ในการกำหนดเลขที่อยู่ในการอ่าน - เขียนหน่วยความจำหลัก และตัวเดียวที่จะเก็บพักข้อมูลนั้น ทำให้เกิดการรอคอยและล่าช้าได้ ช่วงที่สองเรียกว่า รอบการกระทำการ (Execution Cycle) วงจรในส่วนของหน่วยควบคุมเมื่อแปลรหัสดำเนินการได้แล้ว จะปล่อยสัญญาณควบคุมไปสั่งการยังหน่วยต่างๆ อาจเป็นการสั่งให้หน่วยคำนวณและตรรกะทำงาน หรือหน่วยความจำหลักทำงานตามความหมายของรหัสดำเนินการที่แปลได้นั้นต่อไป โดยเมื่อจบสิ้นสุกคำสั่งหนึ่งๆ แล้ว ค่าเลขที่อยู่ของคำสั่งถัดไปจะถูกกำหนดไว้ที่ตัวนับโปรแกรมเสมอ คำสั่งภาษาเครื่องของ IAS ใช้ความยาวขนาด 8 บิตในการแทนค่า จัดแบ่งคำสั่งออกเป็นหลายกลุ่ม
  • 14. ได้แก่ - กลุ่มคำสั่งถ่ายโอนข้อมูล (Data Transfer) เป็นคำสั่งที่ให้มีการถ่ายโอนข้อมูลระหว่างหน่วยความจำหลักกับหน่วยคำนวณและตรรกะ หรือระหว่างเรจิสเตอร์ของหน่วยคำนวณและตรรกะเอง - กลุ่มคำสั่งแยกทางอย่างไม่มีเงื่อนไข (Unconditional Branch) เป็นคำสั่งเปลี่ยนแปลงค่าในตัวนับโปรแกรมไม่ให้ทำงานตามลำดับ แต่ให้กระโดดไปยังเลขที่อยู่อื่นตามที่คำสั่งนั้นสั่งการในทันที - กลุ่มคำสั่งแยกทางตามเงื่อนไข (Conditional Branch) เป็นคำสั่งให้ทำการตรวจสอบเงื่อนไขที่กำหนดไว้เสียก่อน ว่ามีค่าเป็นจริงหรือเท็จ แล้วจึงดำเนินการต่อไปได้ - กลุ่มคำสั่งคำนวณทางเลขคณิต (Arithmetic) เป็นคำสั่งให้ดำเนินการทางเลขคณิตโดยหน่วยคำนวณและตรรกะ - กลุ่มคำสั่งปรับปรุงเลขที่อยู่ (Address Modify) เป็นคำสั่งอนุญาตให้หน่วยคำนวณและตรรกะ สามารถนำค่าเลขที่อยู่ของคำสั่งไปเปลี่ยนแปลงค่าใหม่ ก่อนนำไปรวมกับตัวคำสั่งแล้วเก็บในหน่วยความจำได้ เพื่อให้เกิดความยืดหยุ่นในการกำหนดเลขที่อยู่ของโปรแกรม
  • 15. The end :)